discriminated union
discriminated 判別可能
判別可能なユニオン型
tagged unionとか言ったりする
そういう用語の揺れ、訳され型についてはuhyoさんが触れてる
https://zenn.dev/uhyo/scraps/13760c3798d8ce
擬似的な代数的データ型
このスタイルの型の操作は、基本的にDistributive Conditional Typeの挙動を利用した方がいい
code:ts
type DoSomething<T> = T extends Hoge
? /* do somthing here*/
: never
例 discriminated unionをomitする